const Response = require('../utils/response')

// 全局错误处理中间件
const errorHandler = (err, req, res, next) => {
  console.error('错误:', err)

  // 处理不同类型的错误
  if (err.name === 'ValidationError') {
    return Response.error(res, err.message, 400)
  }

  if (err.name === 'UnauthorizedError') {
    return Response.unauthorized(res, '未授权访问')
  }

  // 数据库错误
  if (err.code === 'ER_DUP_ENTRY') {
    return Response.error(res, '数据已存在', 400)
  }

  // 默认500错误
  return res.status(500).json({
    code: 500,
    message: err.message || '服务器内部错误',
    data: null
  })
}

module.exports = errorHandler











